工业现场嵌入式控制器软件的分析和设计
【摘要】:本文分析了 Linux 在嵌入式系统中应用的可能性及优势,并设计了基于嵌入式 Linux 的工业现场控制器软件,并实际应用于计算机集散控制系统(DCS)中,满足了一般甚至核电领域中DCS 系统对现场控制器的要求。
关键词:嵌入式 Linux;DCS;现场控制器
Abstract The possibilities and advantages of application of Linux in embedded systems are first analyzed in this paper, and then an embedded Linux based industrial field control station software is designed and actually applied in the Distributed Control System (DCS), and satisfies the requirements for field control station in DCS of general even nuclear power plant fields.
Keywords: Embedded Linux; DCS; Filed Control Station
1.引言
现场控制器是DCS系统的核心组成部分,担负着接收并执行控制算法、采集现场数据并 进行大量数据处理等职能,且具有控制周期短,运行稳定、可靠等要求。因此,如何选用高 性能的硬件,开发稳定可靠的嵌入式操作系统,并设计现场控制器软件系统成为DCS系统开 发中的关键之一。
本文分析并设计了基于嵌入式Linux的工业现场控制器的控制软件系统。
2. Embedded Linux的优势
Embedded Linux 具有如下特点[1]:
第一,Linux 系统内核源码完全开放。因为 Linux 的内核源码是完全开发的,所以不同 领域和层次的用户可以免费得到 Linux 内核源码,并根据自己的应用需要方便的对内核进行 修改。这样可以有效控制成本,并设计和开发出满足其需要的嵌入式系统。
第二,强大的网络功能。Linux 的网络连接能力紧密的和 Linux 内核结合在一起,为用 户提供了完善而强大的网络功能。实际上,Linux 就是依靠互联网才迅速发展了起来。Linux 支持所有标准 Internet 协议,可以轻松地与 TCP/IP、LAN Manager、Windows for Workgroups、 Novell Netware 或 Windows NT 网络集成在一起。可以在 Linux 的网络协议栈基础上开发出 嵌入式的 TCP/IP 网络协议栈,使得嵌入式设备具有强大的网络功能。
第三,Linux 是 Unix 兼容,完全符合 IEEE POSIX.1 标准。许多运行在 Unix 上的软件 可以不加修的运行在 Linux 上。因此嵌入式 Linux 具有很多丰富的免费软件资源可以利用。 第四,Linux 具备完整的开发工具链,嵌入式系统开发者容易建立嵌入式系统的开发环 境和交叉运行环境,可以跨越嵌入式系统开发中仿真工具的障碍。从编辑阶段,编译阶段到调试阶段,可以方便的使用 GNU 提供的 EMACS,GCC,GDB,KGDB 等工具链。 第五,Linux 具有广泛的硬件支持。Linux 能运行在,无论是 RISC 还是 CISC、32 位还是 64 位等各种处理器上。Linux 支持各种主流的硬件设备和最新的硬件技术,可以在没有MMU 的处理器上运行。所以嵌入式 Linux 有广泛的应用前景。
3. 工业控制DCS系统的组成
DCS 是分散控制系统(Distributed Control System)的简称,国内一般习惯称为集散控 制系统。它是一个由过程控制级和过程监控级组成的以通信网络为纽带的多级计算机系统, 综合了计算机(Computer)、通讯(Communication)、显示(CRT)和控制(Control)等 4C 技术,其基本思想是分散控制、集中操作、分级管理、配置灵活、组态方便。
DCS 具有以下特点[2]:
(1)高可靠性
由于 DCS 将系统控制功能分散在各台计算机上实现,系统结构采用容错设计,因此某 一台计算机出现的故障不会导致系统其它功能的丧失。此外,由于系统中各台计算机所承担 的任务比较单一,可以针对需要实现的功能采用具有特定结构和软件的专用计算机,从而使 系统中每台计算机的可靠性也得到提高。
(2)开放性
DCS 采用开放式、标准化、模块化和系列化设计,系统中各台计算机采用局域网方式 通信,实现信息传输,当需要改变或扩充系统功能时,可将新增计算机方便地连入系统通信 网络或从网络中卸下,几乎不影响系统其他计算机的工作。
(3)灵活性 通过组态软件根据不同的流程应用对象进行软硬件组态,即确定测量与控制信号及相互
间连接关系、从控制算法库选择适用的控制规律以及从图形库调用基本图形组成所需的各种 监控和报警画面,从而方便地构成所需的控制系统。
(4)易于维护 功能单一的小型或微型专用计算机,具有维护简单、方便的特点,当某一局部或某个计算机出现故障时,可以在不影响整个系统运行的情况下在线更换,迅速排除故障。
(5)协调性 各工作站之间通过通信网络传送各种数据,整个系统信息共享,协调工作,以完成控制 系统的总体功能和优化处理。
(6)控制功能齐全 控制算法丰富,集连续控制、顺序控制和批处理控制于一体,可实现串级、前馈、解耦、 自适应和预测控制等先进控制,并可方便地加入所需的特殊控制算法。
DCS 的构成方式十分灵活,可由专用的管理计算机站、操作员站、工程师站、记录站、 现场控制站和数据采集站等组成,也可由通用的服务器、工业控制计算机和可编程控制器构成。
处于底层的过程控制级一般由分散的现场控制站、数据采集站等就地实现数据采集和控 制,并通过数据通信网络传送到生产监控级计算机。生产监控级对来自过程控制级的数据进 行集中操作管理,如各种优化计算、统计报表、故障诊断、显示报警等。随着计算机技术的 发展,DCS 可以按照需要与更高性能的计算机设备通过网络连接来实现更高级的集中管理 功能,如计划调度、仓储管理、能源管理等。
4. 嵌入式控制器软件设计
嵌入式控制器是指在 DCS 的硬件体系结构中的现场控制站,即图 1 中被红色椭圆圈中 的部分。在设定的控制周期下,主控制器循环的执行从 I/O 设备采集现场数据、控制逻辑运 算、与操作员站进行数据交换、故障诊断、冗余等任务。
主控制器向下通过 I/O 插件或者现场总线网络,连接现场的各种 I/O 设备、执行设备等; 向上通过系统网络与操作员站、工程师站等连接。
DCS 系统的性能、可靠性等重要指标主要体现在主控制器上[3]。因此,设计出高效稳定 的现场控制器软件系统,对于设计整个 DCS 系统的关键之一。
4.1 控制器硬件及系统平台嵌入式控制器的硬件平台为 Intel® XScale IXP425 嵌入式开发板;操作系统采用嵌入式Linux,版本为 2.6.16。
4.2 控制器软件结构
控制器软件设计为运行于嵌入式 Linux 平台上的单线程应用程序,调度策略为实时的先 入先出(FIFO)方式,现场运行采用双机热备份方式。由于控制器软件要完成的各种功能 相对独立,因此本文中将控制器软件程序设计成多模块结构。模块之间的关系如下图所示。
各模块分别设计为:
(1)总控模块。总控模块指的是对系统整体运行进行监控的模块,它协调和调度其他 模块的运行,包括系统开始启动时的初始化、程序结束时所进行的清理以及按照周期性调度 其它模块的运行。
(2)时间管理模块。在控制器软件中,维护一个与校时无关的时间计数,系统根据这 个计数来进行计时和调度。工作机和备份机之间通过校时使得绝对时间和计数都能保持一 致。
(3)通讯模块。此模块提供控制器软件的网络通讯功能,设计为具体网络协议对上层 应用即通讯服务模块透明。同时,通讯模块应该实现将网络上的字节流封装成具有特定功能 单元的数据包,及将具有特定功能单元的数据包转换成网络字节流,以供通讯服务模块使用。
(4)通讯服务模块。通讯服务模块和通讯模块密切相关,是控制器软件对外提供的服 务接口。控制器软件定义了一组标准的通讯服务,外部只要按照规定的格式向控制器发送通 讯请求,控制器就会给出应答或结果。通讯服务模块实质上是对通讯模块所接收到的数据的 处理;并将处理结果交给通讯模块发送。
(5)冗余模块。冗余主要是涉及到工作机和备份机之间的通讯,采用网络方式。主机 需要向从机传送的数据主要包括:下装文件、运行数据、相关通讯服务命令等,另外工作机 和备份机之间的校时也通过冗余模块完成。
(6)诊断模块。诊断模块负责检测控制器运行状态,并对出现及可能出现的异常状态 进行修正。
(7)错误信息处理模块。控制器软件中各模块通过此错误信息处理模块将各种错误信 息记录下来,通过通讯服务,记录的错误信息可以被提取出来进行分析,以便于分析、解决 出现的问题。
(8)状态显示模块。状态显示模块主要是负责按照要求控制控制器面<
提交
超越传统直觉,MATLAB/Simulink助力重型机械的智能化转型
新大陆自动识别精彩亮相2024华南国际工业博览会
派拓网络被Forrester评为XDR领域领导者
智能工控,存储强基 | 海康威视带来精彩主题演讲
展会|Lubeworks路博流体供料系统精彩亮相AMTS展会